package 中等.排序;

import java.util.Arrays;

/**
 * 给你一个下标从 0 开始的二维整数数组 nums 。一开始你的分数为 0 。
 * 你需要执行以下操作直到矩阵变为空：
 * 矩阵中每一行选取最大的一个数，并删除它。如果一行中有多个最大的数，
 * 选择任意一个并删除。
 * 在步骤 1 删除的所有数字中找到最大的一个数字，将它添加到你的 分数 中。
 * 请你返回最后的 分数 。
 * <p>
 * 来源：力扣（LeetCode）
 * 链接：https://leetcode.cn/problems/sum-in-a-matrix
 */
public class 矩阵中的和_2679 {

    public static void main(String[] args) {

    }

    /**
     * 排序+模拟
     */
    public int matrixSum(int[][] nums) {
        int ans = 0;
        for (int[] arr : nums) {
            Arrays.sort(arr);
        }
        for (int j = 0; j < nums[0].length; j++) {
            int curMax = 0;
            for (int i = 0; i < nums.length; i++) {
                curMax = Math.max(curMax, nums[i][j]);
            }
            ans += curMax;
        }
        return ans;
    }

}
